package com.zhongfl.crm.model.vo;

import com.zhongfl.crm.model.LxAttachment;
import com.zhongfl.crm.model.LxUser;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Objects;

/**
 * CRM跟进记录-视图对象
 *
 * @author tiantian
 * @date 2018/9/25 11:12
 */
@Data
public class LxRevisitLogVO implements Serializable {
    private static final long serialVersionUID = 8090657708602639673L;
    /**
     * 励销跟进id
     */
    private Long id;

    /**
     * 跟进内容
     */
    private String content;

    /**
     * 跟进类型,关联对象 如: 线索：Lead | 客户：Customer | 机会：Opportunity | 合同：Contract | 联系人：Contact
     */
    private String loggableType;

    /**
     * 跟进实体id, 如81125
     */
    private Long loggableId;

    /**
     * 实际跟进时间
     */
    private Date realRevisitAt;

    /**
     * 跟进阶段描述, 如:1-面谈
     */
    private String categoryI18n;

    /**
     * 跟进阶段id, 如:2450804
     */
    private String category;

    ///**
    // * 所属用户Id
    // */
    //private Long userId;

    ///**
    // * 所属用户名称
    // */
    //private String userName;

    /**
     * 通知人列表, 用;号分隔
     */
    private String atUsers;

    /**
     * 引用实体类型描述,如:客户订单
     */
    private String referTypeDisplay;

    /**
     * 引用实体名称,如:王永波
     */
    private String referName;

    /**
     * 标题, 如:1-面谈
     */
    private String title;

    /**
     * 创建时间
     */
    private Date createdAt;

    /**
     * 如:2018-09-20 14:36
     */
    private Date timestamp;

    /**
     * 用户对象
     */
    private LxUser user;

    /**
     * 评论记录
     */
    private List<LxRevisitLogCommentVO> comments;

    /**
     * 图片附件
     */
    private List<LxAttachment> attachments;

    /**
     * 页面展示日期
     */
    private String day;
    public String getDay() {
        if (Objects.isNull(this.createdAt)) {
            return StringUtils.EMPTY;
        }

        return DateFormatUtils.format(this.createdAt, "MM-dd");
    }

    /**
     * 页面展示时间
     */
    private String time;
    public String getTime() {
        if (Objects.isNull(this.createdAt)) {
            return StringUtils.EMPTY;
        }
        return DateFormatUtils.format(this.createdAt, "HH:mm");
    }

}
